Software Development for Parallel and Multi-Core Processing
نویسنده
چکیده
The embedded software industry wants microprocessors with increased computing functionality that maintains or reduces space, weight, and power (SWaP). Single core processors were the key embedded industry solution between 1980 and 2000 when large performance increases were being achieved on a yearly basis and were fulfilling the prophecy of Moore’s Law. Moore’s Law states that “the number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years.”1 With the increased transistors, came microprocessors with greater computing throughput while space, weight and power were decreasing. However, this ‘free lunch’ did not last forever.2 The additional power required for greater performance improvements became too great starting in 2000. Hence, single core microprocessors are no longer an optimal solution. Although, distributed and parallel programming solutions provide greater throughput, these solutions unfortunately increase SWaP. The most likely solution is multi-core processors which have been introduced into the embedded processor markets. Most microprocessor manufacturers have converted from developing single core processors to multi-core processors. With this conversion, the prophecy of Moore’s Law is still being achieved. See Figure 1 and notice how the single core processors are not keeping pace with the multi-core processors. Multi-core processors increase throughput while maintaining or reducing SWaP for embedded environments which make them a good hardware solution for the aerospace industry. Intel, in particular, has estimated that by 2011, 95% of all the processors it ships will contain a multi-core design. However, the software market shows less optimism with multi-core processors. For instance, only 40% of software vendors thought their tools would be ready for multi-core processing by 2011. The reasons for software engineering’s lack of excitement with multi-core processors include the following drawbacks: Lack and immaturity of multi-core specific development and debug software tools. Lack of multi-core processor standards. Lack and immaturity of multi-core enabled system software.
منابع مشابه
Hand Gestures Classification with Multi-Core DTW
Classifications of several gesture types are very helpful in several applications. This paper tries to address fast classifications of hand gestures using DTW over multi-core simple processors. We presented a methodology to distribute templates over multi-cores and then allow parallel execution of the classification. The results were presented to voting algorithm in which the majority vote was ...
متن کاملEfficient parallelization of the genetic algorithm solution of traveling salesman problem on multi-core and many-core systems
Efficient parallelization of genetic algorithms (GAs) on state-of-the-art multi-threading or many-threading platforms is a challenge due to the difficulty of schedulation of hardware resources regarding the concurrency of threads. In this paper, for resolving the problem, a novel method is proposed, which parallelizes the GA by designing three concurrent kernels, each of which running some depe...
متن کاملPromoted Fields Unit
Computer performance has been improved by increase of CPU (central processing unit) clock frequency based on miniaturization of semiconductor manufacturing process, however this reaches the upper limit caused by increase of heat generation, power consumption and leakage current since around 2005. To overcome these problems, in recent years, improvement of computer performance by parallel proces...
متن کاملWind River Simics for Multi-core Systems Development
The hardware shift to multi-core processors and multiprocessor systems calls for new software and systems development tools to help developers transform their code into parallel applications and gain performance increases. Developers now have to know how to create software and architect systems that can use parallel hardware efficiently. Virtualized systems development is a development methodol...
متن کاملA Prototype Embedded Microprocessor Interconnect for Distributed and Parallel Computing
Parallel computing is currently undergoing a transition from a niche use to widespread acceptance due to new, computationally intensive applications and multi-core processors. While parallel processing is an invaluable tool for increasing performance, more time and expertise are required to develop a parallel system than are required for sequential systems. This paper discusses a toolkit curren...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012